'use strict';
/**
 * author：小小游 --- allen
 * date：2018.02.08
 * lastUpdateDate：2018.02.08
 * description：变量的对象解构赋值基本用法
 */
 /**
  * 1.这里值得注意的是a和b都是模式，模式是不能被输出的(模式输出会报错的)
  * c才是具体有值的才是变量
  * 2.也就是可以这样理解比如let { a : { b : { c } } } = obj;
  * 在a的右侧，也就是在a :(冒号)的右侧如果它有结构的话，它就不能作为
  * 变量，它只是模式，模式是不能被输出的，这个要理解好
  */
/**
 * 设置默认值 注意如果:(冒号右侧的某一个变量值为undefined)，那么此时
 * 将解构的时候将采取左侧的默认值
 */
let { name = 'xiaoxiaoyou', myId : xiaoyouId = '1234567890', age } = { undefined, 'age' : 28 };
// result：xiaoxiaoyou 28
// 输出就是xiaoyouId了，myId ---> xiaoyouId,xiaoyouId才是变量了
console.log(name, xiaoyouId, age);
